package com.product.business.domain;

import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.product.common.annotation.Excel;
import com.product.common.core.domain.BaseEntity;

/**
 * 零售商户信息对象 merchant_info
 *
 * @author wanghui
 * @date 2022-08-20
 */
public class MerchantInfo extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 商户id（主键自增）
     */
    private Long merchantId;

    /**
     * 商户名称
     */
    @Excel(name = "商户名称")
    private String merchantName;

    /**
     * 商户类型（关联字典）
     */
    @Excel(name = "商户类型", readConverterExp = "关=联字典")
    private String merchantType;

    /**
     * 商户资格证书
     */
    @Excel(name = "商户资格证书")
    private String merchantCertificate;

    /**
     * 商户资格证书到期时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "商户资格证书到期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expirationTime;

    /**
     * 商户地址
     */
    @Excel(name = "商户地址")
    private String merchantLocation;

    /**
     * 商户负责人
     */
    @Excel(name = "商户负责人")
    private String merchantLeader;

    /**
     * 负责人联系方式
     */
    @Excel(name = "负责人联系方式")
    private String leaderPhone;

    /**
     * 负责人邮箱
     */
    @Excel(name = "负责人邮箱")
    private String merchantEmail;

    /**
     * 商户状态（关联字典）
     */
    @Excel(name = "商户状态", readConverterExp = "关=联字典")
    private String merchantStatus;

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantType(String merchantType) {
        this.merchantType = merchantType;
    }

    public String getMerchantType() {
        return merchantType;
    }

    public void setMerchantCertificate(String merchantCertificate) {
        this.merchantCertificate = merchantCertificate;
    }

    public String getMerchantCertificate() {
        return merchantCertificate;
    }

    public void setExpirationTime(Date expirationTime) {
        this.expirationTime = expirationTime;
    }

    public Date getExpirationTime() {
        return expirationTime;
    }

    public void setMerchantLocation(String merchantLocation) {
        this.merchantLocation = merchantLocation;
    }

    public String getMerchantLocation() {
        return merchantLocation;
    }

    public void setMerchantLeader(String merchantLeader) {
        this.merchantLeader = merchantLeader;
    }

    public String getMerchantLeader() {
        return merchantLeader;
    }

    public void setLeaderPhone(String leaderPhone) {
        this.leaderPhone = leaderPhone;
    }

    public String getLeaderPhone() {
        return leaderPhone;
    }

    public void setMerchantEmail(String merchantEmail) {
        this.merchantEmail = merchantEmail;
    }

    public String getMerchantEmail() {
        return merchantEmail;
    }

    public void setMerchantStatus(String merchantStatus) {
        this.merchantStatus = merchantStatus;
    }

    public String getMerchantStatus() {
        return merchantStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("merchantId", getMerchantId())
                .append("merchantName", getMerchantName())
                .append("merchantType", getMerchantType())
                .append("merchantCertificate", getMerchantCertificate())
                .append("expirationTime", getExpirationTime())
                .append("merchantLocation", getMerchantLocation())
                .append("merchantLeader", getMerchantLeader())
                .append("leaderPhone", getLeaderPhone())
                .append("merchantEmail", getMerchantEmail())
                .append("merchantStatus", getMerchantStatus())
                .append("createBy", getCreateBy())
                .append("createTime", getCreateTime())
                .append("updateBy", getUpdateBy())
                .append("updateTime", getUpdateTime())
                .append("remark", getRemark())
                .toString();
    }
}
